#只有目标和目标依赖，没有命令
all:hello

# Makefile中的注释是以#开头
# 语法格式：
# 目标：依赖
#     通过依赖生成目标的指令
# 注意：指令前面必须使用同一个tab键隔开，不能使用多个空格顶过来
hello:hello.o
	#g++ hello.o -o hello
	g++ $< -o $@ #使用通配符，上面的等价
    
#hello.o:hello.cpp
%.o:%.cpp
	g++ -c hello.cpp -o hello.o

# hello.o:hello.s
#     g++ -c hello.s -o hello.o

# hello.s:hello.i
#     g++ -S hello.i -o hello.s

#hello.i:hello.cpp
#     g++ -E hello.cpp -o hello.i


#只有目标和命令，没有目标依赖
.PHONY:clean #设置伪目标,用于解决有同目标名文件存在且没有目标依赖的情况导致不执行
clean:
	rm *.o hello
